package com.ldodds.deville.calais;

import java.io.IOException;
import java.io.InputStream;

/**
 * Basic interface to the OpenCalais service.
 * 
 * @author Leigh Dodds
 * @since 0.1
 */
public interface OpenCalais
{
	static final String CALAIS_SERVER = "http://api.opencalais.com";
	static final String CALAIS_PATH = "/enlighten/calais.asmx/Enlighten";
	static final String CALAIS_URI = CALAIS_SERVER + CALAIS_PATH;
		
	void getLicenceKey(String licenceKey);
	String getLicenceKey();
	
	String enlighten(String content)
		throws IOException, CalaisException;
	
	String enlighten(InputStream in)
		throws IOException, CalaisException;
	
	String enlighten(String content, Parameters parameters)
		throws IOException, CalaisException;

	String enlighten(InputStream in, Parameters parameters)
		throws IOException, CalaisException;
	
}
